/**
 * function
 */

function debounce(func, wait, immediate) {
  var timeout;
  return function () {
    var context = this;
    var args = arguments;
    var later = function () {
      timeout = null;
      if (!immediate) func.apply(context, args);
    };
    var callNow = immediate && !timeout;
    clearTimeout(timeout);
    timeout = setTimeout(later, wait);
    if (callNow) func.apply(context, args);
  };
}

function throttle(func, wait, options) {
  var timeout, context, args;
  var previous = 0;
  if (!options) options = {};

  var later = function () {
    previous = options.leading === false ? 0 : new Date().getTime();
    timeout = null;
    func.apply(context, args);
    if (!timeout) context = args = null;
  };

  var throttled = function () {
    var now = new Date().getTime();
    if (!previous && options.leading === false) previous = now;
    var remaining = wait - (now - previous);
    context = this;
    args = arguments;
    if (remaining <= 0 || remaining > wait) {
      if (timeout) {
        clearTimeout(timeout);
        timeout = null;
      }
      previous = now;
      func.apply(context, args);
      if (!timeout) context = args = null;
    } else if (!timeout && options.trailing !== false) {
      timeout = setTimeout(later, remaining);
    }
  };

  return throttled;
}

function isMobile() {
  var check = false;
  (function (a) {
    if (
      /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(
        a
      ) ||
      /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(
        a.substr(0, 4)
      )
    )
      check = true;
  })(navigator.userAgent || navigator.vendor || window.opera);
  return check;
}

function scrollTo(name) {
  var scrollOffset = $(name).offset();
  $("body,html").animate({
    scrollTop: scrollOffset.top,
  });
}

function loadScript(url, callback) {
  var script = document.createElement("script");
  script.type = "text/javascript";
  if (script.readyState) {
    // IE
    script.onreadystatechange = function () {
      if (script.readyState === "loaded" || script.readyState === "complete") {
        script.onreadystatechange = null;
        callback();
      }
    };
  } else {
    // Others
    script.onload = function () {
      callback();
    };
  }
  script.src = url;
  document.body.appendChild(script);
}

function snackbarShow(text, showAction, duration) {
  var a = typeof showAction !== "undefined" ? showAction : false;
  var d = typeof duration !== "undefined" ? duration : 2000;
  var position = GLOBAL_CONFIG.Snackbar.position;
  var bg =
    document.documentElement.getAttribute("data-theme") === "light"
      ? GLOBAL_CONFIG.Snackbar.bgLight
      : GLOBAL_CONFIG.Snackbar.bgDark;
  Snackbar.show({
    text: text,
    backgroundColor: bg,
    showAction: a,
    duration: d,
    pos: position,
  });
}

window.debounce = debounce;

window.throttle = throttle;

window.isMobile = isMobile;

// ======================== 下面是自定义脚本 =======================

// ======================== 春节倒计时 =======================

if (document.getElementById("springFestival_time")) {
  var springFestival_time = document.getElementById(
    "springFestival_time"
  ).innerHTML;
  var springFestival_title = document.getElementById(
    "springFestival_title"
  ).innerHTML;
  for (var i = 0; i < springFestival_title.length; i++) {
    var id = "springFestival_y" + i;
    document.getElementById(id).innerHTML = springFestival_title.charAt(i);
  }
  document.getElementById("springFestival_time").style.display = "none";
  document.getElementById("springFestival_title").style.display = "none";
  function getRTime() {
    var EndTime = new Date(springFestival_time);
    var NowTime = new Date();
    var t = EndTime.getTime() - NowTime.getTime();
    var d = Math.floor(t / 1000 / 60 / 60 / 24);
    var h = Math.floor((t / 1000 / 60 / 60) % 24);
    var m = Math.floor((t / 1000 / 60) % 60);
    var s = Math.floor((t / 1000) % 60);
    document.getElementById("t_d").innerHTML = d + " 天";
    document.getElementById("t_h").innerHTML = h + " 时";
    document.getElementById("t_m").innerHTML = m + " 分";
    document.getElementById("t_s").innerHTML = s + " 秒";
    // document.getElementById("time").innerHTML = d + " 天 " + h + " 时 " + m + " 分 " + s + " 秒";
  }
  getRTime();
  setInterval(getRTime, 1000);
}

// ======================== wnzz访问统计 ========================

document.write('<div id="wnzz1"></div>');
document.write(
  '<script language=javascript src="https://pv.sohu.com/cityjson?ie=utf-8"></script>'
);
document.write(
  '<script language=javascript src="https://dev.webpro.ltd/wnzz/js/wnzz-1000.js"></script>'
);
document.getElementById("wnzz1").style.display = "none";

// ======================== 页脚 who_powered ========================
var html1 = "";
// html1 += '<div style="display: flex; justify-content: center; margin-top: 8px;">'
// html1 += '<span><a href="https://hexo.io/zh-cn/" target="_blank"><img style="border-radius: 8px; height: 20px; margin-right: 10px;" src="https://img.webpro.ltd/picbed/img/20200312232448.png" /></a></span>'
// html1 += '<span><a href="https://github.com/" target="_blank"><img style="border-radius: 8px; height: 20px; margin-right: 10px;" src="https://img.webpro.ltd/picbed/img/20200312230723.jpg" /></a></span>'
// html1 += '<span><a href="https://console-api.nodecache.com/f?aff=3PzGP4" target="_blank"><img style="border-radius: 8px; height: 20px; margin-right: 10px;" src="https://img.webpro.ltd/picbed/img/20200312231221.png" /></a></span>'
// html1 += '<span><a href="https://www.jsdelivr.com/" target="_blank"><img style="border-radius: 8px; height: 20px;" src="https://img.webpro.ltd/picbed/img/20200312230551.png" /></a></span>'
// html1 += '</div>'
html1 +=
  'E-mail: <a href="mailto:scompany@vip.qq.com">scompany@vip.qq.com</a> / ';
html1 +=
  '<a href="mailto:billwhite246@gmail.com">billwhite246@gmail.com</a><br/>';
html1 +=
  '<span><a href="https://hexo.io/zh-cn/" target="_blank"> Hexo</a></span><span class="footer-separator">|</span>';
html1 +=
  '<span><a href="https://github.com/jerryc127/hexo-theme-butterfly" target="_blank">Theme Butterfly</a></span><span class="footer-separator">|</span>';
html1 +=
  '<span><a href="https://github.com/gitalk/gitalk" target="_blank">Comment Gitalk</a><span class="footer-separator">|</span>';
html1 +=
  '<span><a href="https://github.com/" target="_blank">PicBed GitHub</a><span class="footer-separator">|</span>';
html1 +=
  '<span><a href="https://www.jsdelivr.com/" target="_blank">CDN jsdelivr</a><span class="footer-separator"><br/></span>';
// html += '<img src="https://img.shields.io/badge/框架-Hexo-brightgreen.svg?style=flat" /> '
// html += '<img src="https://img.shields.io/badge/主题 Butterfly-brightgreen.svg?style=flat" /> '
// html += '<img src="https://img.shields.io/badge/图床 GitHub-brightgreen.svg?style=flat" />'
// 又拍云
// 20200416230208
// 20200416230105

// 申请又拍云联盟
// 申请又拍云联盟
// 申请又拍云联盟
// html1 +=
//   '<span><a href="https://console.upyun.com/register/?invite=ryCq2nL_8" target="_blank">Support <img height="28px" style="position: relative; top: 9px;" src="https://img.webpro.ltd/picbed/img/20200416230208.png" /></a></span>';
html1 +=
  '<span><a href="https://www.upyun.com/?utm_source=lianmeng&utm_medium=referral" target="_blank">';
html1 +=
  '本站由 <img height="28px" style="position: relative; top: 9px;" src="https://img.webpro.ltd/picbed/img/20200416230208.png" />';
html1 += " 提供CDN加速/云存储服务</a></span>";

document.getElementById("who_powered").innerHTML = html1;
// Hexo | GitHub footer-separator

// 电脑端responsiveImg属性的图片自动缩小到60%
function autoImgSize() {
  var itemArr = document.getElementsByClassName("responsiveImg");
  if (!isMobile()) {
    for (var i = 0; i < itemArr.length; i++) {
      itemArr[i].style = "width: 60%;";
    }
  }
}
autoImgSize();

// 直接在recent-posts.pug内
// 加载Google AdSense
var googleAds = `
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-6606077988466334" crossorigin="anonymous"></script>
<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6606077988466334" data-ad-slot="3105555854" data-ad-format="auto" data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>
`;
// document.getElementById("my-google-ad").style = "height: 130px;";
// document.getElementById("my-google-ad").innerHTML = googleAds;
